package 第二讲数据结构;

import java.util.Scanner;

public class AcWing827 {
	static int N=100010;
	static int m;
	static int[] e=new int[N];
	static int[] l=new int[N];
	static int[] r=new int[N];
	static int idx;
	
	private static void init() {
		//0表示左端点，1表示右端点
	    r[0]=1;
	    l[1]=0;
	    idx=2;
	}
	
	//在下标k右边插入节点
	private static void add(int k,int val){
		e[idx]=val;
		r[idx]=r[k];
		l[idx]=k;
		l[r[k]]=idx;
		r[k]=idx;
		idx++;
	}
	
	private static void remove(int k) {
		r[l[k]]=r[k];
		l[r[k]]=l[k];
	}
	
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int m=sc.nextInt();
		init();
		while(m-->0) {
			String op=sc.next();
			if("L".equals(op)) {
				int x=sc.nextInt();
				add(0,x);
			}else if("R".equals(op)) {
				int x=sc.nextInt();
				add(l[1],x);
			}else if("D".equals(op)) {
				int k=sc.nextInt();
				remove(k+1);
			}else if("IL".equals(op)) {
				int k=sc.nextInt();
				int x=sc.nextInt();
				add(l[k+1],x);
			}else if("IR".equals(op)) {
				int k=sc.nextInt();
				int x=sc.nextInt();
				add(k+1,x);
				
			}
		}
		sc.close();
		for(int i=r[0];i!=1;i=r[i]) {
			System.out.print(e[i]+" ");
		}
	}

}
